home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / xa / FilePane$SourceReparseUndoable.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  3.6 KB  |  91 lines

  1. package com.extensibility.xa;
  2.  
  3. import com.extensibility.app.BaseUndoable;
  4. import com.extensibility.app.BaseWindow;
  5. import com.extensibility.app.DialogFactory;
  6. import com.extensibility.app.UI;
  7. import com.extensibility.rock.Platform;
  8. import java.awt.Component;
  9. import java.io.StringWriter;
  10.  
  11. public class FilePane$SourceReparseUndoable extends BaseUndoable {
  12.    // $FF: synthetic field
  13.    final FilePane this$0;
  14.    StringWriter oldWriter;
  15.    String oldText;
  16.    boolean oldDirty;
  17.  
  18.    public FilePane$SourceReparseUndoable(FilePane var1, BaseWindow var2) {
  19.       super(var2);
  20.       this.this$0 = var1;
  21.    }
  22.  
  23.    public void undo() {
  24.       super.undo();
  25.       this.this$0.getSourceText().getDocument().removeUndoableEditListener(this.this$0.undoListener);
  26.  
  27.       try {
  28.          this.this$0.ignoreMyCommitPending = true;
  29.          this.this$0.getSchemaDoc().commitPendingEdits(false);
  30.          this.this$0.ignoreMyCommitPending = false;
  31.          this.this$0.getSchemaDoc().reparse(this.this$0.uri, this.oldWriter.toString());
  32.          if (this.this$0.getSchemaDoc().getParseErrors().size() > 0) {
  33.             XADesktop.createErrorWindow(this.this$0.getSchemaDoc());
  34.          } else {
  35.             DialogFactory.note((Component)null, UI.getString("dialog.parsedOk"));
  36.          }
  37.  
  38.          int var1 = this.this$0.getSourceText().getSelectionStart();
  39.          this.this$0.getSourceText().setText(this.oldText);
  40.          var1 = Math.min(var1, this.this$0.getSourceText().getText().length());
  41.          this.this$0.getSourceText().select(var1, var1);
  42.          this.this$0.checkJDKBug();
  43.          this.this$0.setDirty(this.oldDirty);
  44.       } catch (Exception var6) {
  45.          DialogFactory.showException(((BaseUndoable)this).getWindow(), 123, var6);
  46.       } finally {
  47.          ;
  48.       }
  49.  
  50.       this.this$0.getSourceText().getDocument().addUndoableEditListener(this.this$0.undoListener);
  51.       ((BaseSourcePane.SourceUndoManager)this.this$0.getUndoManager()).trimAllExceptFirst();
  52.    }
  53.  
  54.    public void doCommand() {
  55.       this.this$0.getSourceText().getDocument().removeUndoableEditListener(this.this$0.undoListener);
  56.  
  57.       try {
  58.          this.oldWriter = Platform.getTextAreaStringWriter();
  59.          this.this$0.getSchemaDoc().write(this.oldWriter, this.this$0.uri);
  60.          this.oldText = new String(this.this$0.getSourceText().getText());
  61.          this.oldDirty = this.this$0.isDirty();
  62.          this.this$0.ignoreMyCommitPending = true;
  63.          this.this$0.getSchemaDoc().commitPendingEdits(false);
  64.          this.this$0.ignoreMyCommitPending = false;
  65.          this.this$0.getSchemaDoc().reparse(this.this$0.uri, this.this$0.getSourceText().getText());
  66.          if (this.this$0.getSchemaDoc().getParseErrors().size() > 0) {
  67.             XADesktop.createErrorWindow(this.this$0.getSchemaDoc());
  68.          } else {
  69.             DialogFactory.note((Component)null, UI.getString("dialog.parsedOk"));
  70.          }
  71.  
  72.          this.this$0.setDirty(false);
  73.          this.this$0.getSchemaDoc().touch(this.this$0.uri);
  74.       } catch (Exception var2) {
  75.          DialogFactory.showException(((BaseUndoable)this).getWindow(), 123, var2);
  76.       }
  77.  
  78.       this.this$0.getSourceText().getDocument().addUndoableEditListener(this.this$0.undoListener);
  79.    }
  80.  
  81.    public void redo() {
  82.       super.redo();
  83.       this.doCommand();
  84.       ((BaseSourcePane.SourceUndoManager)this.this$0.getUndoManager()).trimAllExceptFirst();
  85.    }
  86.  
  87.    public String getPresentationName() {
  88.       return UI.getString("undo.reparse");
  89.    }
  90. }
  91.